package com.xoa.service.workflow.flowRule;

import com.xoa.model.workflow.FlowRule;
import com.xoa.util.ToJson;

import javax.servlet.http.HttpServletRequest;
import java.util.Map;

/**
 * Created by gsb on 2017/8/21.
 */
public interface FlowRuleService {


    /**
     * 创建作者:   季佳伟
     * 创建日期:   2017/8/21 16:52
     * 方法介绍:   查询工作委托的所有数据
     * 参数说明:
     * @return
     */
    public ToJson<FlowRule> queryFlowRule(Integer page,
                                          Integer pageSize, boolean useFlag);
    /**
     * 创建作者:   季佳伟
     * 创建日期:   2017/8/21 17:10
     * 方法介绍:   添加一条工作委托
     * 参数说明:
     * @return
     */
    public ToJson<FlowRule> insertFlowRule(FlowRule flowRule, HttpServletRequest request);
    /**
     * 创建作者:   季佳伟
     * 创建日期:   2017/8/21 17:20
     * 方法介绍:   修改工作委托的状态为开始=“1”
     * 参数说明:
     * @return
     */
    public ToJson<FlowRule> updateStatusToStart(Integer[] ruleId);
    /**
     * 创建作者:   季佳伟
     * 创建日期:   2017/8/21 17:30
     * 方法介绍:   修改工作委托的状态为关闭=“0”
     * 参数说明:
     * @return
     */
    public ToJson<FlowRule> updateStatusToEnd(Integer[] ruleId);
    /**
     * 创建作者:   季佳伟
     * 创建日期:   2017/8/21 17:20
     * 方法介绍:   删除工作委托
     * 参数说明:
     * @return
     */
    public  ToJson<FlowRule> deleteFlowRule(Integer[] ruleId);


    /**
     * 创建作者:   季佳伟
     * 创建日期:   2017/8/23 16:20
     * 方法介绍:   根据流程名称，委托人姓名，被委托人姓名查询工作委托
     * 参数说明:
     * @return
     */
    public ToJson<FlowRule> selectFlowRule(Map maps);

    /**
     * 根据flowId查询一条记录
     * @param ruleId
     * @return
     */
    public ToJson selectFlowRuleById(Integer ruleId);

    /**
     * 根据flowId修改状态为status
     * @param
     * @param
     * @return
     */
   /* public ToJson updateStatus(Integer flowId,Integer status,Integer allStatus);*/

    public ToJson updateFlowRule(FlowRule flowRule,HttpServletRequest request);
}
